package org.iabako.client.config.page;

import org.iabako.client.tools.Messages;

import java.util.List;

/**
 * Created by jose on 16/10/14.
 */
public enum PageConfigSearchEnum implements IPageConfigEnum {

    ClientSearch("client_search_title", "titleclient", "client_delete_action_tooltip", "client_delete_action_title", "client_delete_action_question", "client_delete_confirm", "validation_client_delete_success", "client_no_results_message"),
    ProductSearch("product_search_title", "titleproduct", "product_delete_action_tooltip", "product_delete_action_title", "product_delete_action_question", "product_delete_confirm", "validation_product_delete_success", "product_no_results_message"),
    StockManagement("stock_management_title", "titlestock", null, null, null, null, null, null),
    ServiceSearch("service_search_title", "titleservice", "service_delete_action_tooltip", "service_delete_action_title", "service_delete_action_question", "service_delete_confirm", "validation_service_delete_success", "service_no_results_message"),
    QuoteSearch("quote_title", "titlequote", "quote_delete_action_tooltip", "quote_delete_action_title", "quote_delete_action_question", "quote_delete_confirm", "validation_quote_delete_success", "quote_no_results_message"),
    SaleSearch("sale_search_title", "titlesale", "sale_delete_action_tooltip", "sale_delete_action_title", "sale_delete_action_question", "sale_delete_confirm", "validation_sale_delete_success", "sale_no_results_message"),
    PastInstallmentSearch("past_installment_search_title", "titlepastinstallment", null, null, null, null, null, null),
    PaymentSearch(null, null, "payment_delete_action_tooltip", "payment_delete_action_title", "payment_delete_action_question", "payment_delete_confirm", "validation_payment_delete_success", "payment_no_results_message"),
    InstallmentSearch(null, null, "installment_delete_action_tooltip", "installment_delete_action_title", "installment_delete_action_question", "installment_delete_confirm", "validation_installment_delete_success", "installment_no_results_message"),
    ExpenseSearch("expense_search_title", "titleexpense", "expense_delete_action_tooltip", "expense_delete_action_title", "expense_delete_action_question", "expense_delete_confirm", "validation_expense_delete_success", "expense_no_results_message"),
    Reports("reports_title", "titlereport", null, null, null, null, null, null),
    ConversationSearch(null, null, "conversation_delete_action_tooltip", "conversation_delete_action_title", "conversation_delete_action_question", "conversation_delete_confirm", "validation_conversation_delete_success", "conversation_no_results_message"),
    UserSearch(null, null, "user_delete_action_tooltip", "user_delete_action_title", "user_delete_action_question", "user_delete_confirm", "validation_user_delete_success", "user_no_results_message");

    private String titleKey;
    private String titleIconClass;
    private String deleteActionTooltipText;
    private String deleteActionQuestionTitle;
    private String deleteActionQuestionText;
    private String buttonTextDeleteConfirm;
    private String deleteActionSuccess;
    private String noResultsMessage;

    PageConfigSearchEnum(String titleKey, String titleIconClass, String deleteActionTooltipText,
                         String deleteActionQuestionTitle, String deleteActionQuestionText,
                         String buttonTextDeleteConfirm, String deleteActionSuccess, String noResultsMessage) {
        this.titleKey = titleKey;
        this.titleIconClass = titleIconClass;
        this.deleteActionTooltipText = deleteActionTooltipText;
        this.deleteActionQuestionTitle = deleteActionQuestionTitle;
        this.deleteActionQuestionText = deleteActionQuestionText;
        this.buttonTextDeleteConfirm = buttonTextDeleteConfirm;
        this.deleteActionSuccess = deleteActionSuccess;
        this.noResultsMessage = noResultsMessage;
    }

    public String getTitle() {
        return Messages.getLabel(titleKey);
    }

    public String getTitleIconClass() {
        return titleIconClass;
    }

    public String getButtonLabel() {
        return null;
    }

    public List<PageTagItemEnum> getPageTagItems() {
        return null;
    }

    public String getDeleteActionTooltipText() {
        return deleteActionTooltipText;
    }

    public String getDeleteActionQuestionTitle() {
        return deleteActionQuestionTitle;
    }

    public String getDeleteActionQuestionText() {
        return deleteActionQuestionText;
    }

    public String getButtonTextDeleteConfirm() {
        return buttonTextDeleteConfirm;
    }

    public String getDeleteActionSuccess() {
        return deleteActionSuccess;
    }

    public String getNoResultsMessage() {
        return noResultsMessage;
    }

    public String getDeleteActionTooltipTextEnMasse() {
        return deleteActionTooltipText + "_en_masse";
    }

    public String getDeleteActionQuestionTitleEnMasse() {
        return deleteActionQuestionTitle + "_en_masse";
    }

    public String getDeleteActionQuestionTextEnMasse() {
        return deleteActionQuestionText + "_en_masse";
    }

    public String getDeleteActionSuccessEnMasse() {
        return deleteActionSuccess + "_en_masse";
    }
}
